<template>
    <div class="wrapper">

        <div style="margin: 100px auto ;background-color: #fff;width: 350px;height: 300px;padding:20px;border-radius: 10px;background-color:rgba(255,255,255,0.35)">
            <div style="margin: 20px 0; text-align: center; font-size: 24px"><b>登 录</b></div>
          <el-form :rules="rules" :model="user" ref="user" >
            <el-form-item prop="username">
              <el-input size="medium" style="margin: 10px 0" prefix-icon="el-icon-user" v-model="user.username"></el-input>
            </el-form-item>
            <el-form-item prop="password">
              <el-input size="medium" style="margin: 10px 0" prefix-icon="el-icon-lock" show-password v-model="user.password"></el-input>
            </el-form-item>

            <el-form-item style="margin: 10px 0; text-align: right">
                <el-button type="primary" size="small" onautocomplete="off" @click="login('user')">登录</el-button>
                <el-button  size="small" onautocomplete="off" @click="reset('user')">重置</el-button>
                <el-button type="warning" size="small" onautocomplete="off" @click="$router.push('/register')">注册</el-button>
            </el-form-item>
          </el-form>
        </div>

    </div>
</template>

<script>
    import {setRouters} from "@/router";

    export default {
        name: "Login",
        data(){
            return{
                user:{
                    username:'',
                    password:''
                },
              rules: {
                username: [
                  { required: true, message: '请输入用户名', trigger: 'blur' },
                  { min: 1, max: 7, message: '长度在 3 到 5 个字符', trigger: 'blur' }
                ],
                password: [
                  { required: true, message: '请输入密码', trigger: 'blur' },
                ]
              }
            }
        },
        methods: {
          login: function (user) {
            this.$refs[user].validate((valid) => {
              if (valid) { // 表单校验合法
                this.request.post('/user/login', this.user).then(res => {
                  if (res.status === '200') {
                    localStorage.setItem("user", JSON.stringify(res.data))// 存储信息到浏览器中
                    console.log(res.data.menus)
                    localStorage.setItem("menus", JSON.stringify(res.data.menus))
                    this.$message.success("登录成功")
                    //动态设置当前用户的路由
                    setRouters()
                      this.$router.push('/')
                  } else {
                    this.$message.error(res.msg)
                  }
                })
              } else {
                return false;
              }
            });

          },
            reset(formName){
              this.$refs[formName].resetFields();
            }
        }
    }
</script>

<style scoped>
    .wrapper{
        height: 100vh;
        /*background-color: rebeccapurple;*/
        /*background-image: linear-gradient(to bottom right, #FC466B, #3F5EFB);*/
      background-image: url("../../assets/3.jpg");
        overflow: hidden;
    }
</style>